package com.amazon.SellingPartnerAPIAA;

/**
 * AWSAuthenticationCredentials
 */
public class AWSAuthenticationCredentials {
	/**
	 * AWS IAM User Access Key Id
	 */
	private String accessKeyId;

	/**
	 * AWS IAM User Secret Key
	 */
	private String secretKey;

	/**
	 * AWS Region
	 */
	private String region;
	
	private AWSAuthenticationCredentials() {}

    private AWSAuthenticationCredentials(AWSAuthenticationCredentials origin) {
    	this.accessKeyId = origin.accessKeyId;
		this.secretKey = origin.secretKey;
		this.region = origin.region;
    }
    
    public static AWSAuthenticationCredentials.Builder builder(){
        return new Builder();
    }
    
    public static class Builder {
    	
        private AWSAuthenticationCredentials target;

        public Builder() {
            this.target = new AWSAuthenticationCredentials();
        }

        public Builder accessKeyId(String accessKeyId) {
            target.accessKeyId = accessKeyId;
            return this;
        }

        public Builder secretKey(String secretKey) {
            target.secretKey = secretKey;
            return this;
        }

        public Builder region(String region) {
            target.region = region;
            return this;
        }

        public AWSAuthenticationCredentials build() {
            return new AWSAuthenticationCredentials(target);
        }
    }

	public String getAccessKeyId() {
		return accessKeyId;
	}

	public void setAccessKeyId(String accessKeyId) {
		this.accessKeyId = accessKeyId;
	}

	public String getSecretKey() {
		return secretKey;
	}

	public void setSecretKey(String secretKey) {
		this.secretKey = secretKey;
	}

	public String getRegion() {
		return region;
	}

	public void setRegion(String region) {
		this.region = region;
	}

}
